package com.project.erp.service.crm.customer;

import java.util.Map;

import com.project.erp.common.utils.Page;
import com.project.erp.model.crm.customer.CrmCustomer;

/**
 * 
 * COPYRIGHT (C) 2013 BY XXX公司

 *  功能模块名：客户关系-客户信息管理

 *  功能描述：客户信息管理服务类

 * @author LiJiaGuo    

 * @version 1.0  

 * @created 2013-12-7 下午3:16:59
 */
public interface CrmCustomerService {
	/**
	 * 根据客户信息字段查询客户信息信息
	 * @crmCustomer page
	 * @crmCustomer crmCustomer
	 * @return
	 */
	public Page<CrmCustomer> getCrmCustomerPageBySearch(Page<CrmCustomer> page,CrmCustomer crmCustomer);
	
	/**
	 * 保存
	 * @param crmCustomer
	 */
	public void saveCrmCustomer(CrmCustomer crmCustomer);
	
	/**
	 * 根据客户信息ID返回客户信息信息
	 * @crmCustomer crmCustomerId
	 * @return
	 */
	public CrmCustomer getCrmCustomerById(Long crmCustomerId);
	
	/**
	 * 修改客户信息信息
	 * @crmCustomer crmCustomer
	 * @crmCustomer delParaValueList
	 * @crmCustomer crmCustomerValueIds
	 */
	public void editCrmCustomer(CrmCustomer crmCustomer);
	
	/**
	 * 删除客户信息信息,存在客户信息细表记录同时需要删除客户信息细表关联数据
	 * @crmCustomer crmCustomerIds
	 */
	public void delCrmCustomer(String[] crmCustomerIds);
	
	/**
	 * 取得全部客户信息，系统初始化调用
	 * @return
	 */
	public Map<String,Map<String, String>> getAllCrmCustomers();
	
	/**
	 * 根据系统参数标识查找客户信息记录
	 * @param cusNameEn
	 * @return
	 */
	public CrmCustomer getCrmCustomerByCusNameEn(String cusNameEn);
}
